
package requests

import (
	"github.com/goravel/framework/contracts/http"
	"github.com/goravel/framework/contracts/validation"
)

type AgentLevelRequest struct {

	Name string `json:"name" form:"name"`

	Image string `json:"image" form:"image"`

	OneBrokerage string `json:"one_brokerage" form:"one_brokerage"`

	OneBrokeragePercent string `json:"one_brokerage_percent" form:"one_brokerage_percent"`

	TwoBrokerage string `json:"two_brokerage" form:"two_brokerage"`

	TwoBrokeragePercent string `json:"two_brokerage_percent" form:"two_brokerage_percent"`

	Grade string `json:"grade" form:"grade"`

	Status string `json:"status" form:"status"`

	IsDel string `json:"is_del" form:"is_del"`

	AddTime string `json:"add_time" form:"add_time"`

}

func (r *AgentLevelRequest) Authorize(ctx http.Context) error {
	return nil
}

func (r *AgentLevelRequest) Rules(ctx http.Context) map[string]string {
	return map[string]string{

		"name": "required",

		"image": "required",

		"one_brokerage": "required",

		"one_brokerage_percent": "required",

		"two_brokerage": "required",

		"two_brokerage_percent": "required",

		"grade": "required",

		"status": "required",

		"is_del": "required",

		"add_time": "required",

	}
}

func (r *AgentLevelRequest) Messages(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *AgentLevelRequest) Attributes(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *AgentLevelRequest) PrepareForValidation(ctx http.Context, data validation.Data) error {
	return nil
}
